﻿Imports extranet.BE
Imports extranet.BC
Imports MetodosComuns
Imports System.IO
Partial Class ranking_AdmRnkAnalisarMensagem
    Inherits System.Web.UI.Page
    Private ARQUIVO_JUSTIFICATIVAS As String = HttpContext.Current.Server.MapPath("~/ranking/") & "txtJustificativas.txt"
    Private EMAIL_REPROVACAO As String = HttpContext.Current.Server.MapPath("~/ranking/") & "EmailReprovacao.htm"

    Protected Sub btnEnviar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnEnviar.Click
        Dim objBEMensagem As BEMensagem = BCMensagem.Selecionar(lblIdMensagem.Text)

        Try
            objBEMensagem.Mensagem = txtMensagem.Text

            If Not Session("objBEUsuario") Is Nothing Then
                If rbtnList.SelectedValue = "Aprovado" Then
                    objBEMensagem.Status = "Aprovada"
                    objBEMensagem.Aprovador = DirectCast(Session("objBEUsuario"), BEUsuario).Usuario

                    BCMensagem.Salvar(objBEMensagem)
                Else
                    Dim strEmail As String = File.ReadAllText(EMAIL_REPROVACAO)
                    objBEMensagem.Status = "Reprovada"
                    objBEMensagem.Reprovador = DirectCast(Session("objBEUsuario"), BEUsuario).Usuario
                    objBEMensagem.JustificativaReprovacao = ddlMsgPadrao.Text

                    BCMensagem.Salvar(objBEMensagem)

                    strEmail = strEmail.Replace("@Nome", objBEMensagem.UsuarioRemetente.Nome)
                    strEmail = strEmail.Replace("@Ranking", objBEMensagem.Ranking.Nome)
                    strEmail = strEmail.Replace("@Destinatario", objBEMensagem.Rankeado)
                    strEmail = strEmail.Replace("@Mensagem", objBEMensagem.Mensagem)
                    strEmail = strEmail.Replace("@Justificativa", objBEMensagem.JustificativaReprovacao)

                    MetodosComuns.EnviaEmail(objBEMensagem.UsuarioRemetente.Email, strEmail, "ExtranetFit4: Reprovação de Mensagem no Ranking", "extranet@fit4.com.br", "Admin")
                End If

                System.Web.HttpContext.Current.Response.Write("<SCRIPT LANGUAGE=""JavaScript"">" & vbCrLf)
                System.Web.HttpContext.Current.Response.Write("alert(""Mensagem Mediada com sucesso!"")" & vbCrLf)
                System.Web.HttpContext.Current.Response.Write("</SCRIPT>")
                Response.Redirect("AdmRnkMediarMensagens.aspx")
            Else
                Response.Redirect("~/Default.aspx")
            End If

        Catch ex As ApplicationException
            System.Web.HttpContext.Current.Response.Write("<SCRIPT LANGUAGE=""JavaScript"">" & vbCrLf)
            System.Web.HttpContext.Current.Response.Write("alert(""Erro Mediando a mensagem: " & ex.Message & """)" & vbCrLf)
            System.Web.HttpContext.Current.Response.Write("</SCRIPT>")
        End Try

    End Sub

    Protected Sub btnCancelar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnCancelar.Click
        Response.Redirect("AdmRnkMediarMensagens.aspx")
    End Sub

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        '==================       PROCEDIMENTO  PADRÃO  SEGURANÇA     =============================
        Dim objBESeguranca As BESeguranca
        Dim objBEUsuario As BEUsuario = Session("objBEUsuario")
        If IsNothing(objBEUsuario) Then Response.Redirect(TELA_LOGOUT)
        Session("strTela") = MetodosComuns.GetCurrentPageName()
        If Not IsPostBack Then          ' SEGURANÇA
            objBESeguranca = BCSeguranca.SelecionaPermissoes(objBEUsuario.GrupoAcesso, Session("strTela"))
            If Not objBESeguranca.Autorizado Then Response.Redirect(TELA_LOGOUT)
            Session("objBESeguranca") = objBESeguranca
        Else
            objBESeguranca = Session("objBESeguranca")
        End If

        If Not IsPostBack Then
            Dim strIdMensagem As String = Request.QueryString("Id")
            Dim objBEMensagem As BEMensagem = BCMensagem.Selecionar(strIdMensagem)

            lblIdMensagem.Text = strIdMensagem
            lblRanking.Text = objBEMensagem.Ranking.Nome
            lblRemetente.Text = objBEMensagem.Remetente
            lblVendedor.Text = objBEMensagem.Rankeado

            txtMensagem.Text = objBEMensagem.Mensagem

        End If
    End Sub

    Protected Sub rbtnList_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rbtnList.SelectedIndexChanged
        If rbtnList.SelectedValue = "Aprovado" Then
            ddlMsgPadrao.Visible = False
        Else
            ddlMsgPadrao.Visible = True
            ddlMsgPadrao.DataSource = BCMensagem.LerJustificativas(ARQUIVO_JUSTIFICATIVAS)
            ddlMsgPadrao.DataBind()
        End If
    End Sub
End Class
